package com.seres.data;

public class Stakeholder {
//	EMPLOYEES("Employees (affected)",				-10,10,0,0,-1,10,0), 
//	SMCIES("S&M Cies, Agents",						-10,10,0,0,-1,70,0), 
//	INTERNAL_PEERS("Internal Peers",				-10,10,0,0,-1,20,0),
//	PROF_SOCIETIES("Professional societies, LOC",	-10,10,0,0,-1,0,10),
//	KOLS("KOLs, Investigators, Consultants",		-10,10,0,0,-1,0,10),
//	CLINICIANS("Clinicians",						-10,10,0,0,-1,0,5),
//	PRESS("Press, Public, Patients",				-10,10,0,0,-1,0,15),
//	AUTHORITIES("Authorities, Payers",				-10,10,0,0,-1,0,20);
	private int stakeholderId;
	private int versionId;
	private String name;
	private float minimumStatusValue;
	private float maximumStatusValue;
	private float resetStatusValue;
	private float initialStatusValue;
	private float thresholdStatusValue;
	private int weightingFactorSTI;
	private int weightingFactorTrust;
	private String aiInput;
	
	Stakeholder(){
		
	}
	public Stakeholder(String name, float minimumStatusValue, float maximumStatusValue, float resetStatusValue, float initialStatusValue, float thresholdStatusValue, int weightingFactorSTI, int weightingFactorTrust, String aiInput){
		this.name = name;
		this.minimumStatusValue = minimumStatusValue;
		this.maximumStatusValue = maximumStatusValue;
		this.resetStatusValue = resetStatusValue;
		this.initialStatusValue = initialStatusValue;
		this.thresholdStatusValue = thresholdStatusValue;
		this.weightingFactorSTI = weightingFactorSTI;
		this.weightingFactorTrust = weightingFactorTrust;
		this.aiInput = aiInput;
		
	}
	public Stakeholder(int versionId, String name, float minimumStatusValue, float maximumStatusValue, float resetStatusValue, float initialStatusValue, float thresholdStatusValue, int weightingFactorSTI, int weightingFactorTrust, String aiInput){
		this(name, minimumStatusValue, maximumStatusValue, resetStatusValue, initialStatusValue, thresholdStatusValue, weightingFactorSTI, weightingFactorTrust, aiInput);
		setVersionId(versionId);
	}
	public Stakeholder(Stakeholder stakeholder){
		this(stakeholder.getVersionId(), stakeholder.getName(), stakeholder.getMinimumStatusValue(), stakeholder.getMaximumStatusValue(), stakeholder.getResetStatusValue(), stakeholder.getInitialStatusValue(), stakeholder.getThresholdStatusValue(), stakeholder.getWeightingFactorSTI(), stakeholder.getWeightingFactorTrust(), stakeholder.getAiInput());
	}
	
	public String toString(){
		return name;
	}
	public float getMinimumStatusValue(){
		return minimumStatusValue;
	}
	public float getMaximumStatusValue(){
		return maximumStatusValue;
	}
	public float getResetStatusValue(){
		return resetStatusValue;
	}
	public float getInitialStatusValue(){
		return initialStatusValue;
	}
	public float getThresholdStatusValue(){
		return thresholdStatusValue;
	}
	public int getWeightingFactorSTI(){
		return weightingFactorSTI;
	}
	public int getWeightingFactorTrust(){
		return weightingFactorTrust;
	}

	public int getStakeholderId() {
		return stakeholderId;
	}

	public void setStakeholderId(int stakeholderId) {
		this.stakeholderId = stakeholderId;
	}
	public void setVersionId(int versionId) {
		this.versionId = versionId;
	}
	public int getVersionId() {
		return versionId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAiInput() {
		return aiInput;
	}
	public void setAiInput(String aiInput) {
		this.aiInput = aiInput;
	}
	@Override
	public boolean equals(Object obj) {
		return ((Stakeholder) obj).getStakeholderId() == this.getStakeholderId();
	}
}
